package tk.mynoteapp.dev.other.eliminateifelse.right.strategyandfactory;

import java.util.HashMap;
import java.util.Map;

/**
 * 策略工厂，里面定义了一个全局的map，在所有IPay的实现类中注册当前实例到map中，然后在调用的地方通过PayStrategyFactory类根据code从map获取支付类实例即可
 */
public class PayStrategyFactory {
    private static Map<String, IPay> PAY_REGISTERS = new HashMap<>();

    public static void register(String code, IPay pay) {
        if (null != code && !"".equals(code)) {
            PAY_REGISTERS.put(code, pay);
        }
    }

    public static IPay get(String code) {
        return PAY_REGISTERS.get(code);
    }
}
